//画一条直线
//参数：起点坐标x0,y0，终点坐标x1,y1，颜色color，线宽width
function line(x0, y0, x1, y1, color, width)
{
    ctx.beginPath()
    ctx.moveTo(x0, y0)
    ctx.lineTo(x1, y1)
    ctx.lineWidth = width
    ctx.strokeStyle = color
    ctx.stroke()
    ctx.closePath()
  }



//画一个矩形
//参数：左上角坐标x,y，矩形宽w，高h，填充颜色fill，边框颜色stroke，边框宽度stroke_width
function rect(x, y, w, h, fill, stroke, stroke_width)
{
    ctx.beginPath()
    ctx.rect(x, y, w, h)
    ctx.fillStyle = fill
    ctx.fill()
    if(stroke==null)
    {
      ctx.lineWidth = 0
      ctx.strokeStyle = null
      ctx.stroke()
    }
    else if(stroke!=null&&stroke_width==null)
    {
        ctx.lineWidth = 2
        ctx.strokeStyle = stroke
        ctx.stroke() 
    }
    else if(stroke!=null&&stroke_width!=null)
    {
        ctx.lineWidth = stroke_width
        ctx.strokeStyle = stroke
        ctx.stroke() 
    }
    ctx.closePath()
  }



//画一个圆
//参数：圆心坐标x，y，半径r，起始角度a0，结束角度a1，填充颜色fill，边框颜色stroke，
//边框宽度stroke_width，是否闭合stroke_all
function circle(x, y, r, a0, a1 , fill, stroke, stroke_width , stroke_all)
{
   ctx.beginPath() 
   ctx.arc(x, y, r, a0 * Math.PI / 180, a1 * Math.PI / 180)
   ctx.fillStyle = fill
   ctx.fill()
   if(stroke==null)
    {
      ctx.lineWidth = 0
      ctx.strokeStyle = null
      ctx.stroke()
    }
    else if(stroke!=null&&stroke_width==null)
    {
        ctx.lineWidth = 2
        ctx.strokeStyle = stroke
        ctx.stroke() 
    }
    else if(stroke!=null&&stroke_width!=null)
    {
        ctx.lineWidth = stroke_width
        ctx.strokeStyle = stroke
        ctx.stroke() 
    }
   if(stroke_all)
   {
       ctx.closePath()
   }
}





//画一个三角形
//参数：顶点坐标x1,y1，x2,y2，x3，y3填充颜色fill，边框颜色stroke，边框宽度stroke_width
function triangle(x1, y1, x2, y2, x3, y3, fill, stroke, stroke_width )
{
    ctx.beginPath()
    ctx.moveTo(x1, y1)
    ctx.lineTo(x2, y2)
    ctx.lineTo(x3, y3)
    ctx.closePath()
    if(stroke==null)
      {
        ctx.lineWidth = 0
        ctx.strokeStyle = null
        ctx.stroke()
      }
      else if(stroke!=null&&stroke_width==null)
      {
          ctx.lineWidth = 2
          ctx.strokeStyle = stroke
          ctx.stroke() 
      }
      else if(stroke!=null&&stroke_width!=null)
      {
          ctx.lineWidth = stroke_width
          ctx.strokeStyle = stroke
          ctx.stroke() 
      }
    ctx.fillStyle = fill 
    ctx.fill()
    ctx.closePath()
}


//文本框

function text( text, x, y, fontSize, fill, stroke, stroke_width )
{
    ctx.beginPath()
    ctx.font = fontSize + "px Arial"
    ctx.fillStyle = fill
    ctx.fill()
    if(stroke==null)
      {
        ctx.lineWidth = 0
        ctx.strokeStyle = null
        ctx.stroke()
      }
      else if(stroke!=null&&stroke_width==null)
      {
          ctx.lineWidth = 2
          ctx.strokeStyle = stroke
          ctx.stroke() 
      }
      else if(stroke!=null&&stroke_width!=null)
      {
          ctx.lineWidth = stroke_width
          ctx.strokeStyle = stroke
          ctx.stroke() 
      }
    ctx.fillText(text, x, y)
    ctx.strokeText(text, x, y)
    ctx.closePath()
}
    
    